package week2.prev_class.exer02;

import java.math.BigInteger;
import java.util.Scanner;

/**
 * 实验题目：涂格子
 * 题目描述：
 * 有排成一行的n个方格，用红、粉、绿三色涂每个格子，要求：
 * （1）任何相邻的方格不能同色；
 * （2）且首尾两格也不同色
 * 求n个格子满足要求的涂法数。
 *
 * 输入要求：
 * 输入多个整数n，每个整数表示有多少个方格，n<=60
 * 输出要求：
 * 输出多个整数，一行一个，表示每个对应输入的涂法数
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int n = scanner.nextInt();
            BigInteger[] dp = new BigInteger[n];
            if (n == 1) {
                System.out.println(3);
                continue;
            } else if (n == 2 || n == 3) {
                System.out.println(6);
                continue;
            }
            dp[0] = BigInteger.valueOf(3);
            dp[1] = BigInteger.valueOf(6);
            dp[2] = BigInteger.valueOf(6);
            for (int i = 3; i < n; i++) {
                dp[i] = dp[i - 1].add(dp[i - 2].multiply(BigInteger.valueOf(2)));
            }
            System.out.println(dp[n - 1]);
        }
    }
}
